キーペアを別のAWSアカウントに移行する方法
はじめに
以前に EC2 を別の AWS アカウントに移行するブログを書きましたが、EC2 移行時にキーペアも一緒に移行したい場合もあると思います。そこで、今回はキーペアを移行する方法を紹介します。
移行準備
移行元アカウントでキーペアを作成します。
今回はキーペアのタイプは「RSA」、プライベートキーファイル形式は「.pem」とします。
移行手順
ローカル環境において、移行元アカウントで作成したキーペアのプライベートキー(.pem)からパブリックキーを作成します。
$ ssh-keygen -y -f test-transfer-keypair.pem > test-transfer-keypair.pub
ssh-keygen コマンド実行時にパーミッションに関する WARNING が出ることがあります。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0644 for 'test-transfer-keypair.pem' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored. Load key "test-transfer-keypair.pem": bad permissions
WARNING への対処法としては、不要な読み取り権限を削除するために chmod コマンドで権限を変更します。
$ chmod 0600 test-transfer-keypair.pem
次に、移行先アカウントにおいて、EC2 のキーペア画面から「アクション」→「キーペアをインポート」を選択します。
先ほどローカルで作成したパブリックキーを選択して「インポート」します。
以上で移行は完了です。
EC2(Amazon Linux 2)を作成して SSH でログインできるか試してみます。
$ ssh ec2-user@xxx.xxx.xxx.xxx -i test-transfer-keypair.pem xxx __| __|_ ) _| ( / Amazon Linux 2 AMI ___|\___|___| https://aws.amazon.com/amazon-linux-2/ 4 package(s) needed for security, out of 16 available Run "sudo yum update" to apply all updates. [ec2-user@ip-10-0-0-129 ~]$
ログインできました!
最後に、ローカルで作成したパブリックキーは不要なので削除しておきましょう。
$ rm test-transfer-keypair.pub
まとめ
EC2 のキーペアを別の AWS アカウントに移行する方法を試してみました。キーペアを移行することで、複数の AWS アカウント環境の EC2 に同じキーペアを用いてログインすることができるようになります。